關於三項平行處理功能必須要知道的事
專案並行化關鍵概念
Scaling 可擴充性
你的應用程式有多大潛力可以擴展至N個處理器?以免每隔幾年便要回頭重新設計
獲得擴展能力的最佳方法是 "尋找有助於擴展的解決方案"
Correctness 正確性
你如何保證平行處理程式將會正確運行?
只會發生在平行處理程式的問題
競賽條件 Race condition
平行運行的兩個任務(不同處理器上運行的兩個執行緒未能正確協調各自的活動)
導致其中一條緒誤以為發生了錯誤而停止運行
非常難Debug
鎖死 DeadLock
有多條執行緒,其中兩條緒互相等待,結果一直等待下去
用專為順序執行程式設計的工具很難處理這類問題 (因為不是用來寫平行處理程式的所以
平常不會遇到這種問題)
Maintainability 可維護性
使用越高階的抽象(abstraction)你的編碼就更容易維護